import numpy as np
import matplotlib.pyplot as plt
def sine_wave(amplitude=1,fc=1000,phase=0,fs=32000,duration=0.01):
    """
    生成正弦波信号
    
    参数:
    freq: 频率 (Hz)
    amplitude: 幅度
    duration: 持续时间 (秒)
    sample_rate: 采样率 (每秒采样点数)
    phase: 初始相位 (弧度)
    """
    # 生成时间序列
    t = np.linspace(0, duration, int(fs * duration))  
    
    # 生成复数波
    wave = amplitude * np.exp(2 * np.pi * fc * t + phase)  
    
    #末尾相位
    pha_end = phase + 2*np.pi*fc*t
    return pha_end, wave

def plot_sine_wave(t, signal, title="正弦波", xlabel='时间 (秒)', ylabel='幅度'):
    plt.rcParams['font.sans-serif'] = ['SimHei']  # 中文黑体
    plt.rcParams['axes.unicode_minus'] = False  
    """绘制正弦波"""
    plt.figure(figsize=(10, 4))                              
    plt.plot(t, signal)                                        
    plt.title(title)
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)
    plt.grid(True)
    plt.show()